package controller

import (
	"github.com/doujunyu/gogo/job"
	"go_self/model"
	"go_self/server"
)

// UserShoppingCartByAdd 加入购物车
func UserShoppingCartByAdd(j *job.Job) {
	if j.Input["number"] == "" || j.Input["sku_id"] == "" {
		j.JsonError(nil, "缺少参数")
		return
	}
	err := server.UserShoppingCartByAdd(j.GroupData["user_id"].(int64), j.Input["sku_id"], j.Input["number"])
	if err != nil {
		j.JsonError(nil, err.Error())
		return
	}
	//当前购物车商品数量
	shoppingCartCount := model.UserShoppingCartByCount(j.GroupData["user_id"].(int64))
	data := make(map[string]interface{})
	data["shpping_cart_count"] = shoppingCartCount
	j.JsonSuccess(data)
	return
}

// UserShoppingCartByList 购物车列表
func UserShoppingCartByList(j *job.Job) {
	data := server.UserShoppingCartByList(j.GroupData["user_id"].(int64))
	if len(data) == 0 {
		j.JsonSuccess()
		return
	}
	j.JsonSuccess(data)
	return
}

// UserShoppingCrtByDel 删除购物车中的商品
func UserShoppingCrtByDel(j *job.Job) {
	if j.Input["ids"] == "" {
		j.JsonError(nil, "缺少删除的数据")
		return
	}
	err := server.UserShoppingCrtByDel(j.GroupData["user_id"].(int64), j.Input["ids"])
	if err != nil {
		j.JsonError(nil, err.Error())
		return
	}
	j.JsonSuccess()
	return
}

// UserShoppingCrtByEditNumber 增加购物车的商品数量
func UserShoppingCrtByEditNumber(j *job.Job) {
	if j.Input["ids"] == "" {
		j.JsonError(nil, "缺少更改的数据")
		return
	}
	if j.Input["number"] == "" {
		j.JsonError(nil, "缺少增加数数据")
		return
	}
	err := server.UserShoppingCrtByEditNumber(j.GroupData["user_id"].(int64), j.Input["ids"], j.Input["number"])
	if err != nil {
		j.JsonError(nil, err.Error())
		return
	}
	j.JsonSuccess()
	return
}

// GoodsByPriceAll 购物车统计选中商品的价格
func GoodsByPriceAll(j *job.Job) {
	if j.Input["goods_json"] == "" {
		j.JsonError(nil, "缺少参数")
		return
	}

	data, err := server.GoodsByPriceAll(j.Input["goods_json"])
	if err != nil {
		j.JsonError(nil, err.Error())
		return
	}
	j.JsonSuccess(data)
	return
}
